package day240110

import "fmt"

func M冒泡排序() {
	//for a := 0; a < 3; a++ {
	//	for b := 0; b < 4; b++ {
	//		fmt.Println(a, b)
	//	}
	//}

	//冒泡排序
	//arr := [5]int{1, 5, 7, 2, 8}
	//for a := 0; a < len(arr)-1; a++ { //a=3时，arr[3]和（最后一个）arr[4]比较了。所以len(arr)-1
	//	if arr[a] < arr[a+1] {
	//		arr[a], arr[a+1] = arr[a+1], arr[a]
	//	}
	//}
	//fmt.Println(arr) // [5 7 2 8 1]	一轮循环把 1 放到最后

	//上方 单轮循环 （4次）

	arr := [5]int{1, 5, 7, 2, 8}
	fmt.Println("原数组", arr)
	for b := 0; b < len(arr)-1; b++ {
		for a := 0; a < len(arr)-1-b; a++ { //-b 是因为外圈没轮都排好那一轮的最后一个了

			if arr[a] < arr[a+1] {
				arr[a], arr[a+1] = arr[a+1], arr[a]
			}
		}
	}
	fmt.Println(arr)

}
